Method for automatically indexing documents

ABSTRACT

Methods and Systems for automatically indexing a set of base documents. Data defining all elements respectively contained within the base documents is indexed. The elements comprise an element to be checked and surrounding elements that surround the element to be checked. The received data is evaluated as to whether the element to be checked has the corresponding meaning, wherein training has been performed based on a training sample generated for base documents in which the element to be checked is surrounded by the surrounding elements and has the corresponding meaning. For those base documents where elements have been found to have the corresponding meaning, building an index indexing the base documents, the index comprising the elements having the corresponding meaning with a corresponding reference to the document in which each element is contained.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of Ser. No. 12/106,450 filed Apr. 21, 2008, which is a continuation of Ser. No. 11/896,746 filed on Sep. 5, 2007, which is a continuation of Ser. No. 11/620,628 filed on Jan. 5, 2007 which is a continuation of Ser. No. 11/429,436 filed May 8, 2006 which is a continuation of Ser. No. 10/531,298 filed Apr. 14, 2005, which is the national stage filing under 35 U.S.C. §371 of international application No. PCT/US02/27132 filed Aug. 27, 2002, all of which applications and disclosures are incorporated herein in their entireties by reference.

FIELD OF THE INVENTION

The present invention relates to the processing of text documents, and in particular, to the automatic indexing of text documents.

BACKGROUND OF THE INVENTION

A typical way of structuring large volumes of data such that they can be easily accessed is to index the documents. This means that a document or a group of documents is referenced by an indexing term. A collection of such indexing terms then forms an index: This is exemplarily shown in FIG. 4.

In FIG. 4 address documents 410, 420, 430 contain address data on individual persons. The documents may be characterized by the individual elements which they contain, one of them is the family name of the persons to which the documents relate.

This information may then be used for building an index 440 shown on the left-hand side of FIG. 4. This index contains list of the family names which are contained in the documents, and each of the elements of the index references an individual document as can be seen from FIG. 4.

This is a very classical and typical way of organizing information in a structured manner such that the desired information or the desired documents containing a searched and desired piece of information may be retrieved and accessed from a large volume of documents.

Indexes can be built for several elements such as the family name, the first name, the street name, etc. What indexes have in common is that the elements of an index all in some sense have the same “meaning”, such as “family name”, “first name”, or the like.

Therefore, the individual elements which are used to build an index are somehow consistent with respect to the information they contain when viewed from a more abstract level. In other words, all elements of the index have the same “meaning”.

Another, more general approach for ordering documents is just to characterize one or more documents by a certain term, and then to build an index from the thus used individual terms. In such a case the index elements do not have to have a consistent “meaning”, although one may consider that they all have the same meaning in the sense that each of the elements characterizes or describes the one or more documents which it references.

After an index has been built, it can be used for querying and accessing the set of documents ordered or structured by the thus built up index. Either one can directly input a search term, and if it is contained in the index, then the document or the documents referenced by the index term are retrieved. Another possibility is to “browse” the index, which means to display the individual index elements in some (typically alphabetical) order, as shown in element 440 of FIG. 4. This has the advantage that a user can quickly overlook which index elements are used in total for organizing or “indexing” the set of documents.

Another somewhat more sophisticated approach is to use a so-called fault-tolerant search, which means that a search term is inputted and those documents are retrieved where the corresponding index value is identical or at least similar (to some extent, depending on the used fault-tolerant search algorithm) to the search term.

In any case, building an index is a very difficult and tedious work, it is the preparatory work which has to been done in order to make it feasible to access large sets of documents in an ordered and meaningful manner.

Typically indexes are created “manually”, at least in case of the documents to be indexed being “unstructured”, such as plain text documents. If the documents to be indexed are “structured”, such as in the case of relational data base tables, then it is relatively easy to built an index. However, if one does not know which individual “meaning” an element in an unstructured document has, then it is extremely difficult and tiresome to select elements which can be used for indexing this document.

Consequently, it is highly desirable to improve the processing of indexing documents.

SUMMARY OF THE INVENTION

According to the first embodiment of present invention there is provided a method for retrieving certain documents from a set of documents based on a search term inputted as well as based on the corresponding meaning of the search term. At first those documents are searched which contain the search term. Thereafter, the found documents (called base documents) are to be evaluated whether in those documents the search term contained therein has a certain meaning. This evaluation comprises the generation of a text (or layout) document which represents the search term and its surrounding elements and their corresponding absolute or relative position with respect to the search term or within the base document. This text document then is inputted into a trainable classifying apparatus which has been trained to judge whether the inputted text document belongs to a certain class or category or not. The judgment thereby has to determine whether the search term has the certain desired meaning (i.e. the text document belongs to the trained class) or whether it has not (the document does not belong to the trained class).

Based on this judgment it can be checked whether in the found based documents the searched terms have the certain desired meaning.

According to a further embodiment the search terms and the corresponding meanings can be used to built an index for the based documents. This can then be helpful to access a large stockpile of base documents in an ordered manner.

According to a further embodiment searching, classifying, and indexing steps are repeated for a plurality of search terms. If this is carried out for each of the base documents, then for each document the corresponding individual value having a certain meaning and being contained in this document can be determined. For example, for all base documents of a pool of letters the dispatch date may be determined or “extracted”, and the thus extracted elements together with their meaning “dispatch date” could be used to form an index referencing the set of base documents. If this is performed for several different meanings, such as the addressee, the origination address, the reference number, and so on, then there could be also generated a relational data base mapping the “informational content” of the set of documents into the relational data base tables.

According to a further embodiment the search performed may comprise an associative search and/or a fuzzy search. This will return also documents in which the search terms are misspelled or which contain any other typing errors.

According to a further embodiment the training of a classifying apparatus can be carried out by selecting for the training set of documents those elements which in the respective documents have a certain meaning, then generate the text documents for the respective base documents of the training sample, and then using the thus generated text documents as a training set for training the classifying apparatus by running the classifying apparatus in the training mode.

Using this approach a classifying apparatus by using only a small sample of training documents can actually “learn” to evaluate whether for certain base documents some elements contained therein have a certain meaning or not. This so trained “knowledge” can then later on be used for building an index based on the certain meaning which the index elements should have.

The training process can either be done semi-automatically or it can be done in another embodiment in a fully automated manner. For the semi-automatic training a user has to identify in the base documents those elements which have the desired meaning which is to be learned or trained. After the identification has taken place the training sample is provided an the training can be carried out.

To carry out a fully automatic training one can use a set of documents (such as documents of a database which already exists) for which already the elements having the desired meaning are known, e.g. as fields in the database. This stock of documents for which the elements having the desired meaning are already known can then be used as training samples.

According to a further embodiment a set of base documents can be automatically indexed by checking for all elements (or at least a part of them) contained in set base documents whether those elements have a certain meaning or not. With this “pump gun” approach a set of base documents can be fully automatically indexed, without even performing any search. In this embodiment just all elements of the base documents are checked as to whether they have a certain desired meaning, and if so, then those elements are used for building up the index.

According to a further embodiment, the selection of the elements for which the actual checking is performed, may contain some “smart selection”. For example, only those elements which meet some format criterion, could be selected for the evaluation procedure. This could then reduce the necessary computing power to perform the automatic indexing.

According to a further embodiment the one or more indexes which have been built up can be used for forming relational data base tables. Then, the unstructured-base documents can be automatically converted into a structured form of a relational data base.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 schematically illustrates of first embodiment of present invention.

FIG. 2 schematically illustrates of further embodiment of present invention.

FIG. 3 schematically illustrates an even further embodiment of the present invention.

FIG. 4 schematically illustrates the indexing of documents.

DETAILED DESCRIPTION

The present invention will now be explained by means of illustrative embodiments in connection with the accompanying drawings.

FIG. 1 illustrates a first embodiment according to the present invention. Assume that there is a set of documents which are unstructured (just normal text documents) and which accordingly are difficult to query, to access, and to bring them into somehow an ordered form.

Let us moreover assume that the user is interested in those documents of the pool of base documents which a) contain a certain term, and b) in which the certain term has a certain meaning. As an example let us assume that a user is interested in those documents of the pool of base documents which contain the term “May 6, 2000”, but additionally, in which the term (or element) “May 6, 2000” is an invoice date.

At first a user then has to input the search term into the computer be using any conventional input method. Moreover, the corresponding meaning which the inputted search term should have also must be somehow conveyed to the computer system. Either the user could manually input the corresponding meaning (such as inputting “invoice date”, or he could select from a variety of optional meanings, or the corresponding meaning could be predefined to a default value. After the search term and the corresponding meaning have been clarified by operation 100 in FIG. 1, the method proceeds to operation 110. Therein the pool of base documents is searched for those documents which contain the inputted search term.

This will retrieve any documents which contain the element “May 6, 2000”. However, the retrieved documents may also contain those documents where the search term has a meaning different from the meaning “invoice date”, e.g. the meaning could be “date of birth”, “date of expiration”, or anything else.

Therefore, in operation 120 it has to be evaluated whether the found documents are documents in which the search term has the desired corresponding meaning or not.

This evaluation procedure will now be explained in more detail in connection with FIG. 2. In operation 200 there is generated a text document which codes for positions of elements which surround the search term in the found base document. This is explained in very detail in European Patent Application 00103810.8, filed on Feb. 23, 2000, by the applicant of the present application, and the content of which is hereby incorporated by reference. In particular, this application deals with and describes a method which can be used for judging whether certain elements in a text have a certain meaning or not. This is done by representing their corresponding positions through a so-called “layout document”, and this layout document then is inputted into a classifying apparatus which has been trained to recognize whether the inputted layout document belongs to a certain category or not.

The training usually is performed in order to enable the classifying apparatus to judge whether the layout document represents the surrounding area of a search term for those documents where the search term has any desired (or trained) meaning or not. For details, reference is made to the aforementioned European Patent Application. For example, the published version of the European Patent Application, EP 1128278 A1, includes the following at paragraphs [0023]-[0024]:

-   -   Apart from obtaining the elements themselves there is obtained         their corresponding position in the document, e.g. by         calculating the x- and y-coordinates where each element is         located in the document. The position will later be used for         generating the layout document.     -   After having identified the individual elements of the         electronic text document, those elements are stored in a         so-called “working document”. In the working document each         element which has been identified is stored together with         information about its position in the electronic document. For         example, the element “curriculum” may be stored together with         its x- and y-coordinates identifying its position in the         electronic document. The working document is a convenient tool         for storing all elements which have been identified together         with their corresponding position so that for the generation of         the layout document which is explained later in detail reference         can be made to the working document. An example of a working         document generated from any text document is shown in FIG. 3.         The tags Tag1, Tag2, etcetera contain the position information         of the corresponding elements. This information may be         represented in any form, e.g. by directly storing the x- and         y-coordinates of the elements in the tags. The elements in FIG.         3 may be for example the individual words identified in a text         document, or any other character sequences as identified through         the method explained before as elements, and the tags then         contain information about the position of those elements, such         as where with respect to their x- and y-coordinates they are         located. The tags may also further comprise indications of the         style of the elements, their font, whether they are underlined         or not, or any similar information. For example, for a bold         faced element the corresponding tag may comprise the character         sequence “bf” representing that the element is in bold faced         characters, another character sequence may represent that the         element is underlined, or the like.         Paragraph [0021] of European Patent Application 00103810.8         further teaches that an element may be “any sequence of         characters which is separated from other elements by a         delimiter”. Thus, the classifying apparatus described herein may         identify x- and y-coordinates for any element and its         surrounding elements to judge whether the layout document         represents the surrounding area of a search term.

This layout document (or as we call it here, text document) is then used as in input into a classifying apparatus as illustrated in operation 210 of FIG. 2 of the present application. This classifying apparatus then judges whether the inputted text document belongs to a certain category or not. The “category” here means that either the search term has the certain meaning or it has not (here: it is an invoice date or it is not).

In operation 220 the classifying apparatus then performs its judgment whether the search term has the inputted (or desired) meaning or not. A particularly suited classifying apparatus is described in European Patent Application 99108354.4, which has been filed by the applicant of the present application on Apr. 28, 1999. The content of this application is hereby incorporated by reference. In particular, any details relating to the classifying apparatus described or mentioned herein can be taken from this application.

However, any other classifying apparatus which is able to evaluate text documents as to whether they belong to a certain category or not and which is trainable can be used as well. Of course, at first the classifying apparatus has to be trained using a certain training sample, and thereafter, the newly found base documents may be inputted into classifying apparatus and evaluated thereby has to whether the search term has a certain meaning or not.

It should be noted once again that a detailed description of the process to extract elements from text documents having a desired meaning is described in European Patent Application 00103810.8 mentioned before. Also the particulars concerning how a representation of the surrounding area of a candidate element my means of a layout document which is then fed to a trainable classifying apparatus to judge whether the candidate element actually has the desired meaning is described in detail therein.

A further embodiment of the present invention which relates to the automatic generation of any index is now explained in connection with FIG. 3. In operation 300 the certain meaning which the elements of the base documents should have is defined or selected, as already explained before.

Then, as also already has been explained, for elements to be checked the text document (or layout document) is generated.

This text documents may then be inputted into an already trained classifying apparatus in operation 320. This classifying apparatus in operation 330 then checks whether the elements to be checked have the certain defined or selected meaning.

If the evaluation results in a “yes”, then in operation 340 the thus evaluated element is used to built an index together with the defined or selected meaning. If the answer in operation 330 is “no”, then in operation 350 the checked elements are discarded or, in other words, they are not used for building the index.

Using the process illustrated in FIG. 3, an automatic indexing of documents can be performed.

This can be done in several ways. Either, the elements to be checked could be all elements which are contained in the individual base documents. For each individual element, it could then for example be checked whether this element is an “invoice date” or not, e.g. by generating a corresponding layout document, and then by evaluating this layout document through a classifying apparatus.

It is readily apparent, that this approach is rather time and computing power consuming, therefore, the selection of the elements to be checked could be done in some smart manner. For example, only those elements which match with a certain format criterion could be checked. With such a format criterion can be a compilation of the well-known formats which a date can assume, and the elements are checked whether they match with the format criterion and only in the letter case the final checking is made whether the thus selected element (which may be assumed to be “date”) actually is an “invoice date” or not.

Another approach could be to automatically generate the search terms which then are searched in the base documents.

For example, a certain range of dates could be selected (e.g. from Jan. 1, 2000 to Jan. 1, 2001), and then all those dates lying therein between are subsequently searched, in other words, are applied as search terms to the pool of the base documents.

For those search terms where there is found a match, which means that there is found a document which contains a corresponding search term, the layout document then is generated and it is checked whether the search term has the certain meaning (here: invoice date). If so, then as already explained before the search term may be used for building an index.

With this approach, not all elements in the base documents have to be checked, but rather only those elements for which the search has delivered a match.

Which approach actually is more efficient in terms of necessary computing power may depend on the individual circumstances.

It should be clear that the foregoing examples only are illustrative examples, and that of course the method explained so far also can be applied to any other “meanings” which a certain term or element should have, such as e.g. a name, a street name, a family name, a first name, a city name, or anything else.

The most general meaning any element could have with respect to a certain document in which it is contained could be that the element just somehow “describes” the document in which it is contained. For example, the term “invoice” may be contained in an invoice, moreover, it just describes that the corresponding document actually is an invoice. Such elements describing the whole content of a document of course can also be used for building an index.

In a further embodiment the training of the classifying apparatus is carried out semi-automatically. E.g. a user identifies for each of a set of documents those elements which have the certain desired meaning such as e.g. the invoice number. Based on this selection inputted by the user then the layout document is generated which can be used as a training input for training the classifying apparatus. In this manner several layout documents representing surrounding areas of elements which are invoice numbers are inputted to the classifying apparatus and thereby the classifying apparatus is trained (“learns”) to recognize those elements which are invoice numbers and to distinguish them from other elements which do not have this meaning.

In a further embodiment such a training procedure can be executed in a fully automated manner. Assume that there is a set of documents (e.g. from any already existing database) which are already stored, evaluated and classified in the form of a relational database which has a column “invoice number” in which for each document the invoice number is already stored. Then there is no need to identify the invoice number manually through a user but rather the information from the database can be used to generate the training input. The database provides the invoice number for each document, this number may then be searched in the document itself and after it has been located based on the surrounding area which surrounds the invoice number the layout document is generated. This process may be carried out for each of the documents of the database and then results in a large set of layout documents which can be used as training examples for training the classifying apparatus. Thereby a fully automated training can be carried out without any need for identifying elements by a user.

It should be clear to any skilled person that this procedure can be carried out not only for “invoice numbers” but for any other elements which have a certain meaning and which are already known. This knowledge about the elements themselves and their meaning needs not to come from a database, it may also be stored e.g. in a spreadsheet table, or it may even be written down on paper in form of a table which then may be scanned. It does not matter from where the knowledge about the elements themselves and their meaning comes, as soon as it exists it may be used to automate the training process of the classifying apparatus based on this knowledge.

In summary, embodiments of the invention include a method for retrieving based on a search term together with its corresponding meaning from a set of base documents those documents which contain said search term and in which said certain search term has said certain meaning to enable the building of an index on said retrieved documents, said method comprising: searching for those base documents among said set of base documents which contain said certain search term; evaluating the found base documents as to whether said search term contained in said found base documents, respectively, has a certain meaning, said evaluation comprising: generating a text document to represent elements surrounding the search term and their corresponding absolute or relative position with respect to said search term, the elements of said text document coding said absolute or relative positions of said surrounding elements by corresponding text strings; inputting said text document into a trainable classifying apparatus which has been trained to recognize whether an inputted text document belongs to a certain classification category or not, whereas said training has been performed based on a training sample of text documents which have been generated for documents in which the term surrounded by the surrounding elements has said meaning inputted by said user; classifying said inputted text document to judge whether said search term has said inputted meaning.

While the present invention has been described hereinbefore by means of exemplary embodiments, it will be readily apparent to the skilled reader that modifications may be carried out without departing from the scope of the invention as defined by the appending claims. 

What is claimed:
 1. A method for automatically indexing a set of base documents, said method comprising: inputting, with a computer device, data defining all elements respectively contained within the base documents which meet predefined criteria and defining a corresponding meaning, the elements comprising an element to be checked and surrounding elements that surround the element to be checked; evaluating, with a trainable classifying apparatus in communication with the computer device which has been trained to recognize whether inputted data belongs to a corresponding classification category or not, the received data as to whether the element to be checked has the corresponding meaning, wherein the training has been performed based on a training sample generated for base documents in which the element to be checked is surrounded by the surrounding elements and has the corresponding meaning, the received data comprising data coding absolute or relative positions of the surrounding elements by corresponding text strings; and for those base documents where elements have been found to have the corresponding meaning, building, with the computer device, an index indexing the base documents, the index comprising the elements having the corresponding meaning with a corresponding reference to the document in which each element is contained.
 2. The method of claim 1, further comprising training said classifying apparatus.
 3. The method of claim 2, wherein the training comprises using a set of documents for which the elements having the meaning of interest are already known to automatically generate text documents as training samples to train said classifying apparatus.
 4. The method of claim 1, wherein the inputting comprises: evaluating, with the computer device, the base documents by checking for the elements respectively contained within the base documents which meet the predefined criteria and whether the elements have the corresponding meaning; and generating, with the computer device, the data based on the evaluating.
 5. The method of claim 1, wherein: the inputting comprises generating, with the computer device, the data; and the data comprises a text document for the element to be checked, the text document being based on the element to be checked and its surrounding elements and including coding for the element's X-Y position and the X-Y positions of the surrounding elements.
 6. A system for automatically indexing a set of base documents, said system comprising: a trainable classifying apparatus configured for: inputting, with a computer device, data defining all elements respectively contained within the base documents which meet predefined criteria and defining a corresponding meaning, the elements comprising an element to be checked and surrounding elements that surround the element to be checked; evaluating, with the trainable classifying apparatus, which has been trained to recognize whether inputted data belongs to a corresponding classification category or not, the received data as to whether the element to be checked has the corresponding meaning, wherein the training has been performed based on a training sample generated for base documents in which the element to be checked is surrounded by the surrounding elements and has the corresponding meaning, the received data comprising data coding absolute or relative positions of the surrounding elements by corresponding text strings; and for those base documents where elements have been found to have the corresponding meaning, building, with the computer device, an index indexing the base documents, the index comprising the elements having the corresponding meaning with a corresponding reference to the document in which each element is contained.
 7. The system of claim 6, wherein the classifying apparatus is configured to be trained by using a set of documents for which the elements having the meaning of interest are already known to automatically generate text documents as training samples to train said classifying apparatus.
 8. The system of claim 6, wherein the inputting comprises: evaluating, with the computer device, the base documents by checking for the elements respectively contained within the base documents which meet the predefined criteria and whether the elements have the corresponding meaning; and generating, with the computer device, the data based on the evaluating.
 9. The system of claim 6, wherein: the inputting comprises generating, with the computer device, the data; and the data comprises a text document for the element to be checked, the text document being based on the element to be checked and its surrounding elements and including coding for the element's X-Y position and the X-Y positions of the surrounding elements. 